import { number } from "echarts";

// 分页查询货品列表返回类型
export interface selectGoodsListRetType {
  // 当前页码
  page: number;
  // 每页条数
  size: number;
  // 总共多少条
  total: number;
  // 总共多少页
  totalPage: number;
  // 货品列表
  list: GoodsListType;
}

// 货品列表类型
export type GoodsListType = GoodsType[];

// 货品类型
export interface GoodsType {
  // 货品id
  id: number;
  fileId: number;
  labId: number;
  // 实验室
  labAddress: string;
  // 药品柜
  code: string;
  // 货品名称
  name: string;
  specificDesc: string;
  cas: string;
  dangerRemark: string;
  manufacturer: string;
  // 单位
  measure: string;
  hash: string;
  // 类别id
  categoryId: number;
  // 类别名称
  categoryName: string;
  // 存量
  quantity: string;
  threshold: string;
  price: string;
  // 科目名称
  subjectName: string;
  // 项目名称
  projectName: string;
  status: string;
  creator: string;
  updator: string;
  gmtCreate: number;
  gmtModify: number;
  serialNumber?: number;
}

// 货品查询参数类型
export interface GoodsSelectParamType {
  page: number;
  size: number;
  labAddress: string;
  code: string;
  name: string;
  categoryName: string;
  subjectName: string;
  projectName: string;
}

// 货品类别列表类型
export type GoodCategoryListType = GoodCategoryType[];

// 货品类别类型
export interface GoodCategoryType {
  id: number;
  name: string;
  status: string;
  pid: number;
  creator: string;
  updator: string;
  gmtCreate: number;
  gmtModify: number;
}

// 添加/编辑表单数据类型
export interface AddEditFormDataType {
  id?: number | null;
  fileId?: number | null;
  labId?: number | null;
  labAddress: string;
  code: string;
  name: string;
  specificDesc: string;
  cas: string;
  dangerRemark: string;
  manufacturer: string;
  measure: string;
  categoryId?: number | null;
  categoryName: string;
  quantity: string;
  threshold: string;
  price: string;
  subjectName: string;
  projectName: string;
}

// 实验室类型
export interface LaboratoryType {
  id: number;
  name: string;
  address: string;
  status: string;
  pid: number;
  displayorder: number;
  creator: string;
  updator: string;
  gmtCreate: number;
  gmtModify: number;
}

// 实验室列表类型
export type LaboratoryListType = LaboratoryType[];

// 导出Excel条件提交数据类型
export interface ExportExcelConditionDataType {
  labAddress: string;
  code: string;
  categoryName: string;
  subjectName: string;
  projectName: string;
}

// 实验室类型
export interface labType {}

// 可以查询货品的实验室类型
export interface selectGoodsLabType {
  id?: number | string | null;
  name: string;
  address: string;
  status: string;
  pid: number;
  displayorder: number;
  creator: string;
  updator: string;
  gmtCreate: string;
  gmtModify: string;
  isSelect: number | string | undefined | null;
}

// 可以查询货品的实验室列表类型
export type selectGoodsLabListType = selectGoodsLabType[];

// 借出/归还 记录类型
export interface lendReturnLogType {
  createTime: string;
  lendDesc: string;
  logId: number;
  makeName: string;
  makeQuantity: number;
  quantity: number;
  tbGoodsId: number;
  tbGoodsName: string;
  userId: number;
  userName: string;
}

// 借出/归还 记录列表类型
export type lendReturnLogListType = lendReturnLogType[];

// 借出/归还 记录查询分页类型
export interface lendReturnLogByPageType {
  list: lendReturnLogListType;
  page: number;
  size: number;
  total: number;
  totalPage: number;
}
